BLACK = 1
RED = 2

class RBNode(object):
   def __init__(self, Value):
      super(RBNode, self).__init__()
      self._value = Value
      self._color = 0
      self._left = None
      self._right = None
      self._parent = None

   def __int__(self):
      retval = 0
      if isinstance(self._value, int):
         retval = int(self._value)

      return retval

   def __str__(self):
      return self._value.format("ascii")

   value = property(fget = lambda self: self._value)

class RBTree(object):
   def __init__(self):
      self._none = RBNode(None)
      self._root = self._none
      self._count = 0

   def __len__(self):
      return self._count

   def insert(self, Node):
      if isinstance(Node, RBNode):
         flag = True
         while flag:
            if int(Node) <= int(
